package ltd.jdsoft.cute.token.dao;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import ltd.jdsoft.cute.token.model.Token;

/**
 * 
 * @author zhengzhq
 *
 */
@Repository
public interface TokenDAO {

  /**
   * 增加令牌
   * 
   * @param token
   */
  public void add(Token token);

  /**
   * 更新令牌,仅更新token和expireTime
   * 
   * @param token
   */
  public void update(Token token);

  /**
   * 根据token获取令牌
   * 
   * @param token
   */
  public Token getByToken(String token);

  /**
   * 根据令牌持有者id和类型查询令牌信息
   * 
   * @param ownerId
   * @param type
   * @return
   */
  public Token getByOwnerAndType(@Param("ownerId") long ownerId, @Param("type") int type);
}
